# 第一阶段：构建阶段
FROM maven:3.8.6-eclipse-temurin-17 AS builder

# 设置工作目录
WORKDIR /app

# 复制Maven配置文件
COPY pom.xml .

# 下载依赖（利用Docker缓存层优化构建）
RUN mvn dependency:go-offline

# 复制源代码
COPY src ./src

# 构建应用程序
RUN mvn clean package -DskipTests

# 第二阶段：运行阶段
FROM eclipse-temurin:17-jre-alpine

# 设置工作目录
WORKDIR /app

# 从构建阶段复制构建产物
COPY --from=builder /app/target/eureka_server-0.0.1-SNAPSHOT.jar app.jar

# 暴露端口
EXPOSE 8761

# 设置环境变量
ENV JAVA_OPTS="-Xms256m -Xmx512m"

# 启动命令
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]